#ifndef __UNPIFI_H__
#define __UNPIFI_H__
#include "unp.h"
#include <net/if.h>

#define IFI_NAME	16		/* 与<net/if.h>中定义的IFNAMESIZ  一样*/
#define IFI_HADDR	8		/* 允许未来的EUI-64 */

struct ifi_info {
	char		ifi_name[IFI_NAME];	/*接口名*/
	short		ifi_index;			/*接口索引*/
	short		ifi_mtu;			/*接口MTU*/
	u_char		ifi_haddr[IFI_HADDR];		/*硬件地址*/
	u_short		ifi_hlen;					/*硬件地址字节*/
	short		ifi_flags;			/* 来自<net/if.h> 中的IFF_xxx常量*/
	short		ifi_myflags;		/*　我们的flag 标志*/
	struct sockaddr		*ifi_addr;	/* 首地址*/
	struct sockaddr		*ifi_brdaddr;	/* 广播地址*/
	struct sockaddr		*ifi_dstaddr;	/* 点到点地址*/
	struct ifi_info		*ifi_next;			/* 下一个结构指针*/
};

#define IFI_ALLAS	1	/* ifi_addr 是一个别名*/

/*　原型　*/
struct ifi_info *get_ifi_info(int, int);
struct ifi_info *Get_ifi_info(int, int);
void	free_ifi_info(struct ifi_info *);

#endif
